//
//1.创建一个navigation控制器来包住一个viewController 成为我们的主页控制器 和根控制器! (这个是 总体思想的把控! 第一步)
//2.然后就是主界面的构建! 最上面是 一个UIScrollView进行的添加新闻的要点按钮;下面的 UIScrollView 是用来包含所有的新闻数据内容!
//出现的问题: 再这种的导航控制器环境之下,会出现的问题是 往UIScrollView上添加的子控件会不见了! 原因是: 因为是控制器默认有一个属性叫:automaticallyAdjustsScrollViewInsets,他是自动的调整scrollview的内边距的,只要有navigation 就会自动向下减掉 64 个点;相当于contentInset.top = 64 ; 但是那块剪掉的区域可以被穿透!(这样的看着是很自然...)
//静态的内存的管理 : MRC的情况下--->command + shift + B = (可以自动的检测和 分析)
//动态的内存的管理 : instranment  的应用!

//3.下面的是要求的添加的子控制器,注意的是: 这里应用的是同一个控制器来进行完成的!目的是为了进行方便的教学
//4.需要在最上面的导航的控制器中 ,添加子label来进行试验!
//5.下面的这一步是通过我们的label 的定义来进行设置一下属性,和细节的优化

//6.这一步是很关键的一步了: 就是让我们的view 的视图来加载我们的第一个的控制器显示到主界面的情况!





#import "YQhomeViewController.h"
#import "YQHeadLineViewController.h"
#import "YQLable.h"
@interface YQhomeViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *titleScrollView;

@property (weak, nonatomic) IBOutlet UIScrollView *contentScrollView;

@end

@implementation YQhomeViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //重点的防止的里面的视图,显示不到的情况!
    self.automaticallyAdjustsScrollViewInsets = NO;
    //设置导航栏的标题
    self.title = @"网易新闻";
    //设置添加子控制器
    [self setupChildVces];
    //添加头标题
    [self setuplable];
    //首页进行的添加视图的控件
    UIViewController * firstVC = [self.childViewControllers firstObject];
    firstVC.view.frame = self.contentScrollView.bounds;
    [self.contentScrollView addSubview: firstVC.view];
    //同理的方法: 是进行的设置下面的scrollview 的size 让它们也能进行的整体的正确的滚动
    CGFloat contentW = self.childViewControllers.count * [UIScreen mainScreen].bounds.size.width;
    self.contentScrollView.contentSize = CGSizeMake(contentW, 0);
    
}
-(void)setupChildVces{
    YQHeadLineViewController *vc1 = [[YQHeadLineViewController alloc]init];
    vc1.title = @"头标题 01";
    //自己添加自己类型的子类
    [self addChildViewController:vc1];
    YQHeadLineViewController *vc2 = [[YQHeadLineViewController alloc]init];
    vc2.title = @"头标题 02";
    //自己添加自己类型的子类
    [self addChildViewController:vc2];
    YQHeadLineViewController *vc3 = [[YQHeadLineViewController alloc]init];
    vc3.title = @"头标题 03";
    //自己添加自己类型的子类
    [self addChildViewController:vc3];
    YQHeadLineViewController *vc4 = [[YQHeadLineViewController alloc]init];
    vc4.title = @"头标题 04";
    //自己添加自己类型的子类
    [self addChildViewController:vc4];
    YQHeadLineViewController *vc5 = [[YQHeadLineViewController alloc]init];
    vc5.title = @"头标题 05";
    //自己添加自己类型的子类
    [self addChildViewController:vc5];
    YQHeadLineViewController *vc6 = [[YQHeadLineViewController alloc]init];
    vc6.title = @"头标题 06";
    //自己添加自己类型的子类
    [self addChildViewController:vc6];
    YQHeadLineViewController *vc7 = [[YQHeadLineViewController alloc]init];
    vc7.title = @"头标题 07";
    //自己添加自己类型的子类
    [self addChildViewController:vc7];
}
/// 添加所有的标题label
-(void)setuplable{
    //创建lable,我们的lable 的个数取决于我们的子控制器的个数
    NSUInteger count = self.childViewControllers.count;
    CGFloat labelW = 80;
    CGFloat labelH = 40;
    CGFloat lableY = 0;
    for (NSUInteger i =0; i < count; i++) {
        //创建lable
        YQLable * label = [[YQLable alloc]init];
        //绑定tag 的值以便我们来进行监听值
        label.tag = i;
        [self.titleScrollView addSubview:label];
        //设置frame
        CGFloat labelX = i * labelW;
        label.frame = CGRectMake(labelX, lableY, labelW, labelH);
        //设置文字
        UIViewController * vc = self.childViewControllers[i];
        label.text = vc.title;
        [label addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelClick:)]];//参照的是它的本身,就是给他自己来添加
    }
    //设置scrollview 的内容的大小
    CGFloat titleContentW = count * labelW;
    self.titleScrollView.contentSize = CGSizeMake(titleContentW, 0);//代表的是 y方向的不能滚动
}
/// 监听label 的点击
//我们实现的思路和方法是给他进行添加手势
-(void)labelClick:(UITapGestureRecognizer *)recongnizer{
//    NSLog(@"%@",recongnizer);
    //1. 获得的被点击的label(注意的是这个就是来进行的 获取它显示的view)
    YQLable * label = (YQLable *)recongnizer.view;
    //2. 设置X方向上的偏移量,就是让我们的内容的视图的进行的动画滚动!
    CGFloat contentOffX = label.tag * self.contentScrollView.frame.size.width;
    //3. 设置动画的进行偏移
    [self.contentScrollView setContentOffset:CGPointMake(contentOffX, 0) animated:YES]; // 有动画
    
}


@end
